Transcrição
import { HttpClient, HttpParams } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Photo } from "./photo";
const API = 'http://localhost:3000';
@Injectable({ providedIn: 'root' })
export class PhotoService {
constructor(private http: HttpClient) {}
listFromUser(userName: string) {
return this.http
.get<Photo[]>(API + '/' + userName + '/photos');
}
listFromUserPaginated(userName: string, page: number) {
const params = new HttpParams()
.append('page', page.toString());
return this.http
.get<Photo[]>(API + '/' + userName + '/photos', { params });
}
upload(formData: FormData) {
return this.http.post(
API + '/photos/upload', formData
);
}
}
import { Component, OnInit } from "@angular/core";
import { AuthService } from "../../core/auth/auth.service";
import { FormGroup, FormBuilder } from "@angular/forms";
import { Validators } from "@angular/forms";
@Component({
selector: 'ap-photo-form',
templateUrl: './photo-form.component.html',
})
export class PhotoFormComponent implements OnInit {
photoForm: FormGroup;
constructor(private formBuilder: FormBuilder) { }
ngOnInit(): void {
this.photoForm = this.formBuilder.group({
file: ['', Validators.required],
description: ['', Validators.maxLength(300)],
allowComments: [true]
});
}
upload() {
console.log('chamou upload');
}
}
<div class="container" (submit)="upload()">
<form [formGroup]="photoForm" class="row">